
package com.insigma.business.qrcode.soldier.dao;

import com.insigma.business.qrcode.common.annotation.Crypt;
import com.insigma.business.qrcode.intell.dto.CareSoldierWelfareApplyInfoBSearcher;
import com.insigma.business.qrcode.soldier.entity.CareSoldierWelfareApplyInfoDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface CareSoldierWelfareApplyInfoDao {

    
    List<CareSoldierWelfareApplyInfoDO> search(final CareSoldierWelfareApplyInfoBSearcher innerSearcher);

    
    CareSoldierWelfareApplyInfoDO get(final String id);

    
    Integer insert(final CareSoldierWelfareApplyInfoDO careSoldierWelfareApplyInfoDO);

    
    Integer update(final CareSoldierWelfareApplyInfoDO careSoldierWelfareApplyInfoDO);

    
    Integer delete(@Param("id") final String id,
                   @Param("modifierType") final String modifierType,
                   @Param("modifierId") final String modifierId);

    @Crypt(encryptParamIndex = {0})
    CareSoldierWelfareApplyInfoDO getByIdCardNoAndSourceAndStatus(@Param("idCardNo")String idCardNo, @Param("source")String source, @Param("status")String status);

    CareSoldierWelfareApplyInfoDO getBySoldierIdAndSource(@Param("soldierId")String soldierId, @Param("source")String source);
}
